Fix todo-mode item insertion bug (bug#78506)
authorStephen Berman <stephen.berman@gmx.net>
Tue, 20 May 2025 13:29:58 +0000 (15:29 +0200)
committerStephen Berman <stephen.berman@gmx.net>
Tue, 20 May 2025 13:29:58 +0000 (15:29 +0200)
* lisp/calendar/todo-mode.el (todo-insert-item--next-param): Unset
transient keymap on completing default or copy item insertion
command, to ensure that the next Todo mode key is recognized.

lisp/calendar/todo-mode.el

index 27678328b4aace31bd7308b2990868d2433d6ed4..652176af3b1ed9d28d6bde9dc8520b3be321d780 100644 (file)
@@ -5821,7 +5821,13 @@ keys already entered and those still available."
       (if (memq last '(default copy))
          (progn
            (setq params0 nil)
-            (funcall gen-and-exec))
+            (funcall gen-and-exec)
+           ;; Since the item insertion command is now done, unset
+           ;; transient keymap to ensure the next Todo mode key is
+           ;; recognized (bug#78506).  (Only for "default" and "copy"
+           ;; parameters: for others, `last' may not yet be the final
+           ;; parameter, so the map must still be evaluated.)
+           (setq map nil))
         (let ((key (funcall key-of last)))
          (funcall add-to-prompt key (make-symbol
                                       (concat (symbol-name last) ":GO!")))